#ifndef MYDATA_H
#define MYDATA_H
/*************************************************
 *	文件名称：mydataexample.h
 *	文件说明：文件为数据元素定义的模版文件，提供了
			  元素的基本定义模版
			  元素组构建的函数声明
			  元素组销毁的函数声明
			  元素提取的函数声明
			  元素修改的函数声明
			  元素组测试升序排列的函数声明
			  元素组测试降序排列的函数声明
			  元素组获取最大值的函数声明
			  元素组获取最小值的函数声明
 *	程序平台：for linux
 *	文件作者：Jason <jasonsunsoft@163.com>
 *	文件时间：2014年8月18日 17:27
*************************************************/

#include <stdlib.h>
#include "common.h"
/*
typedef struct {
    int a;
}ElemType, *Triplet;*/
typedef int ElemType;
typedef int * Triplet;

//-------------- 基本操作的函数说明---------------
Status InitTriplet(Triplet *T, ElemType v1, ElemType v2, ElemType v3 );
	//操作结果：构造三元组T，元素e1, e2和e3 分别被赋以参数v1, v2 和 v3的值。

Status DestroyTriplet(Triplet T);
	//操作结果：三元组T被销毁。

Status Get(Triplet T, int i, ElemType *e);
	//初始条件：三元组T已存在,1 <= i <= 3。
	//操作结果：用 e 返回T的第i元的值。

Status Put(Triplet T, int i, ElemType e);
	//初始条件：三元组T已存在,1 <= i <= 3。
	//操作结果：改变T的第i元的值为e。

Status IsAscending(Triplet T);
	//初始条件：三元组T已存在。
	//操作结果：如果T的3个元素按升序排列，则返回1，否则返回0。

Status IsDescending(Triplet T);
	//初始条件：三元组T已存在,1 <= i <= 3。
	//操作结果：如果T的3个元素按降序排列，则返回1，否则返回0。

Status Max(Triplet T, ElemType *e);
	//初始条件：三元组T已存在。
	//操作结果：用e返回T的3个元素中的最大值。

Status Min(Triplet T, ElemType *e);
	//初始条件：三元组T已存在。
	//操作结果：用e返回T的3个元素中的最小值。

#endif //MYDATA_H
